package com.yuw.control.userinfo;

import com.yuw.bean.userinfo.UserInfoBean;
import com.yuw.model.userinfo.ModelUserInfo;
import com.yuw.utils.MyUtils;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * servlet是一个类处理一个方法路径映射的请求，是类级别的相应；
 * springmvc是方法级别响应，也就是一个方法就可以处理一个客户端请求；
 */
// 注解 -- 省略掉 在web.xml中进行servlet的配置
@WebServlet(name = "ServletUserLogin", value = "/ServletUserLogin")
public class ServletUserLogin extends HttpServlet {
    @Override
    protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        // 获取表单数据
        // 获取接收表单数据的实体类
        UserInfoBean userInfoBean = MyUtils.convertRequest2Bean(request,UserInfoBean.class);

        System.out.println("自定义数据类型转换之后的结果：");
        System.out.println(userInfoBean);


        // 调用model层进行业务逻辑处理
        boolean isLogined = MyUtils.getNewInstance(ModelUserInfo.class).doLogin(userInfoBean);
        // 根据结果进行view的控制转发
        if (isLogined) {
            // 登陆成功
            request.getRequestDispatcher("WEB-INF/logined/main.html").forward(request, response);
        } else {
            request.getRequestDispatcher("index.jsp").forward(request, response);
        }
    }
}
